You are here: Building the Model: Advanced Elements > Modeling Tips > Using Entity Attributes
Entity attributes are a powerful construct that enable a user to "tag" entities with characteristics to distinguish them from other entities of the same name.
Entity attributes are place holders associated with individual entities which usually contain information about that entity. Attributes may contain integers or real numbers. Unlike variables, attributes are not global. To define attributes, use the Attributes module found under the More Elements option of the Build menu.
One use of an entity attribute is to represent a processing time. This is especially useful when you base processing times at a location on some characteristic other than entity type, such as size or condition.
Suppose several types of tires enter a machining center that places the steel belts on the tire. The processing time of the tire increases as the diameter of the tire increases. The following example shows that for a tire entering a machining location, the processing time uses the value of the attribute "Proc_time." You can make the attribute assignment in the "Logic" field of the Arrivals module.
In this example, ProModel attaches the attribute "Proc_time" (short for process time) to the entity, tire, which contains a value representing the process time at Machine_1. You can assign a value to "Proc_time" in the Operation field or, as mentioned above, in the Logic field in the Arrivals module. The latter allows you to assign a value to the attribute for each entity as they arrive in the system.
When using attributes instead of operation times, ProModel substitutes the value assigned to the attribute directly into the Operation field. So, if "Proc_time=4.5" were your attribute assignment and the default units for time were in minutes, the resulting operation time would be 4.5 minutes.
You may also use attributes to determine the routing of an entity. Note that the Routing Rule dialog offers a "User Condition" routing rule. In this field, you can enter an expression that evaluates the value of an attribute for the entity currently at that location. Hence, ProModel selects the routing destination based on the attribute.
In this example, an entity attribute called "Inspected" has a value of zero or one. For uninspected tires, Inspected=0. For inspected tires, Inspected=1. Set the attribute value equal to 1 in the Operation field of the Inspection location to indicate an inspected tire.
At some other location in the model, ProModel makes a routing decision based the tire’s inspection status. The example above shows that the entity, tire, will route to either Inspect or Machine_2 based on the attribute value.
Another use for entity attributes is for assigning entity characteristics such as number of times reworked, color, model type, lot size, order number, etc. You may do this to reduce the number of system entities defined.
In the following example, to show that you reworked a casting, each entity that goes through the location Rework has its "Reworked" attribute set equal to 1.
You may assign values to entity attributes in the Operation field in the Processing edit table, the Logic field in the Arrivals edit table, and the Move Logic in the Routing edit table.